<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IgH EtherCAT Master: datagram.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">IgH EtherCAT Master
   &#160;<span id="projectnumber">1.5.2</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('datagram_8h.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">datagram.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>EtherCAT datagram structure.  
<a href="#details">More...</a></p>

<p><a href="datagram_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">EtherCAT datagram.  <a href="structec__datagram__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a03209bc3f89797943506f8f7c160b015"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#a03209bc3f89797943506f8f7c160b015">ec_datagram_type_t</a> { <br />
&#160;&#160;<a class="el" href="datagram_8h.html#a03209bc3f89797943506f8f7c160b015a455bd48cbb495dc8b0c34ab831a7fb3d">EC_DATAGRAM_NONE</a> = 0x00, 
<a class="el" href="datagram_8h.html#a03209bc3f89797943506f8f7c160b015a4f04360dcb5d54e7fa9cc9d29b0201d4">EC_DATAGRAM_APRD</a> = 0x01, 
<a class="el" href="datagram_8h.html#a03209bc3f89797943506f8f7c160b015adde6a3abb46fc29cf612209f80961ffa">EC_DATAGRAM_APWR</a> = 0x02, 
<a class="el" href="datagram_8h.html#a03209bc3f89797943506f8f7c160b015a1c72f47920669e05abafa39e4135aea4">EC_DATAGRAM_APRW</a> = 0x03, 
<br />
&#160;&#160;<a class="el" href="datagram_8h.html#a03209bc3f89797943506f8f7c160b015a37da79feb57a32a0d5d009e43e36fc3b">EC_DATAGRAM_FPRD</a> = 0x04, 
<a class="el" href="datagram_8h.html#a03209bc3f89797943506f8f7c160b015a0c3a2341969ba72970430b534ffa7e92">EC_DATAGRAM_FPWR</a> = 0x05, 
<a class="el" href="datagram_8h.html#a03209bc3f89797943506f8f7c160b015a94bb7b04cafdb9a9b16708830df12420">EC_DATAGRAM_FPRW</a> = 0x06, 
<a class="el" href="datagram_8h.html#a03209bc3f89797943506f8f7c160b015a74127113716bd45eaf6009ecdcb74dfc">EC_DATAGRAM_BRD</a> = 0x07, 
<br />
&#160;&#160;<a class="el" href="datagram_8h.html#a03209bc3f89797943506f8f7c160b015abe060a204f51ab1ce7d2ff4b8fc4dda0">EC_DATAGRAM_BWR</a> = 0x08, 
<a class="el" href="datagram_8h.html#a03209bc3f89797943506f8f7c160b015a7e441843805140c02dec287ec8ba0481">EC_DATAGRAM_BRW</a> = 0x09, 
<a class="el" href="datagram_8h.html#a03209bc3f89797943506f8f7c160b015ae39583a474563f9420fee3bdcac8f738">EC_DATAGRAM_LRD</a> = 0x0A, 
<a class="el" href="datagram_8h.html#a03209bc3f89797943506f8f7c160b015a8821b71eda807ab031ecf7e3030ebe1f">EC_DATAGRAM_LWR</a> = 0x0B, 
<br />
&#160;&#160;<a class="el" href="datagram_8h.html#a03209bc3f89797943506f8f7c160b015a7b305ba36800dd3e5c61203cdd6a5093">EC_DATAGRAM_LRW</a> = 0x0C, 
<a class="el" href="datagram_8h.html#a03209bc3f89797943506f8f7c160b015a3480b2f60d4ee7fafd94582afd4a82b1">EC_DATAGRAM_ARMW</a> = 0x0D, 
<a class="el" href="datagram_8h.html#a03209bc3f89797943506f8f7c160b015a924ce1c906dcb8263c6ed75e37bc35db">EC_DATAGRAM_FRMW</a> = 0x0E
<br />
 }<tr class="memdesc:a03209bc3f89797943506f8f7c160b015"><td class="mdescLeft">&#160;</td><td class="mdescRight">EtherCAT datagram type.  <a href="datagram_8h.html#a03209bc3f89797943506f8f7c160b015">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a03209bc3f89797943506f8f7c160b015"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9882419ec1404dcca75761c4d1ce720"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#ac9882419ec1404dcca75761c4d1ce720">ec_datagram_state_t</a> { <br />
&#160;&#160;<a class="el" href="datagram_8h.html#ac9882419ec1404dcca75761c4d1ce720a5ccc352710bfd57969fdba9a13f91f71">EC_DATAGRAM_INIT</a>, 
<a class="el" href="datagram_8h.html#ac9882419ec1404dcca75761c4d1ce720acb7d25358159e7c95e334a74b97d661c">EC_DATAGRAM_QUEUED</a>, 
<a class="el" href="datagram_8h.html#ac9882419ec1404dcca75761c4d1ce720abe88d98e46c97099702211a92e1d8c9d">EC_DATAGRAM_SENT</a>, 
<a class="el" href="datagram_8h.html#ac9882419ec1404dcca75761c4d1ce720a95630d1e98f6217bf0392b4295c5bc6a">EC_DATAGRAM_RECEIVED</a>, 
<br />
&#160;&#160;<a class="el" href="datagram_8h.html#ac9882419ec1404dcca75761c4d1ce720a9f9009188c7cee7d421908a8924ba5e8">EC_DATAGRAM_TIMED_OUT</a>, 
<a class="el" href="datagram_8h.html#ac9882419ec1404dcca75761c4d1ce720af9a4a9cb27dca2c36d87f734fa36debf">EC_DATAGRAM_ERROR</a>
<br />
 }<tr class="memdesc:ac9882419ec1404dcca75761c4d1ce720"><td class="mdescLeft">&#160;</td><td class="mdescRight">EtherCAT datagram state.  <a href="datagram_8h.html#ac9882419ec1404dcca75761c4d1ce720">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ac9882419ec1404dcca75761c4d1ce720"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a8c149b9109b8710239b65c14bcf87cfd"><td class="memItemLeft" align="right" valign="top"><a id="a8c149b9109b8710239b65c14bcf87cfd"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#a8c149b9109b8710239b65c14bcf87cfd">ec_datagram_init</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *)</td></tr>
<tr class="memdesc:a8c149b9109b8710239b65c14bcf87cfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:a8c149b9109b8710239b65c14bcf87cfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb57d145234f12a354a0286dab86f106"><td class="memItemLeft" align="right" valign="top"><a id="abb57d145234f12a354a0286dab86f106"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#abb57d145234f12a354a0286dab86f106">ec_datagram_clear</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *)</td></tr>
<tr class="memdesc:abb57d145234f12a354a0286dab86f106"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:abb57d145234f12a354a0286dab86f106"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43d78d0e9873569e4b5c840fafdadba5"><td class="memItemLeft" align="right" valign="top"><a id="a43d78d0e9873569e4b5c840fafdadba5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#a43d78d0e9873569e4b5c840fafdadba5">ec_datagram_unqueue</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *)</td></tr>
<tr class="memdesc:a43d78d0e9873569e4b5c840fafdadba5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unqueue datagram. <br /></td></tr>
<tr class="separator:a43d78d0e9873569e4b5c840fafdadba5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92a101b920c6e3cedd187a74d148c65c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#a92a101b920c6e3cedd187a74d148c65c">ec_datagram_prealloc</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *, size_t)</td></tr>
<tr class="memdesc:a92a101b920c6e3cedd187a74d148c65c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates internal payload memory.  <a href="#a92a101b920c6e3cedd187a74d148c65c">More...</a><br /></td></tr>
<tr class="separator:a92a101b920c6e3cedd187a74d148c65c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3a997439eaf8c94e0272e309f06da94"><td class="memItemLeft" align="right" valign="top"><a id="ae3a997439eaf8c94e0272e309f06da94"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#ae3a997439eaf8c94e0272e309f06da94">ec_datagram_zero</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *)</td></tr>
<tr class="memdesc:ae3a997439eaf8c94e0272e309f06da94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the datagram payload memory with zeros. <br /></td></tr>
<tr class="separator:ae3a997439eaf8c94e0272e309f06da94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28104e7c3691ae038472f292d77f0e1c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#a28104e7c3691ae038472f292d77f0e1c">ec_datagram_aprd</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *, uint16_t, uint16_t, size_t)</td></tr>
<tr class="memdesc:a28104e7c3691ae038472f292d77f0e1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an EtherCAT APRD datagram.  <a href="#a28104e7c3691ae038472f292d77f0e1c">More...</a><br /></td></tr>
<tr class="separator:a28104e7c3691ae038472f292d77f0e1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1f9df4ca5a9b197bbebab97c3b1b014"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#ab1f9df4ca5a9b197bbebab97c3b1b014">ec_datagram_apwr</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *, uint16_t, uint16_t, size_t)</td></tr>
<tr class="memdesc:ab1f9df4ca5a9b197bbebab97c3b1b014"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an EtherCAT APWR datagram.  <a href="#ab1f9df4ca5a9b197bbebab97c3b1b014">More...</a><br /></td></tr>
<tr class="separator:ab1f9df4ca5a9b197bbebab97c3b1b014"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09196132a8e2ba4455e29034c7c1c021"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#a09196132a8e2ba4455e29034c7c1c021">ec_datagram_aprw</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *, uint16_t, uint16_t, size_t)</td></tr>
<tr class="memdesc:a09196132a8e2ba4455e29034c7c1c021"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an EtherCAT APRW datagram.  <a href="#a09196132a8e2ba4455e29034c7c1c021">More...</a><br /></td></tr>
<tr class="separator:a09196132a8e2ba4455e29034c7c1c021"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9189502fd72cb516ed7e34b717919d11"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#a9189502fd72cb516ed7e34b717919d11">ec_datagram_armw</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *, uint16_t, uint16_t, size_t)</td></tr>
<tr class="memdesc:a9189502fd72cb516ed7e34b717919d11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an EtherCAT ARMW datagram.  <a href="#a9189502fd72cb516ed7e34b717919d11">More...</a><br /></td></tr>
<tr class="separator:a9189502fd72cb516ed7e34b717919d11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0756df47b9ae51ded9a1ca2acc116c93"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#a0756df47b9ae51ded9a1ca2acc116c93">ec_datagram_fprd</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *, uint16_t, uint16_t, size_t)</td></tr>
<tr class="memdesc:a0756df47b9ae51ded9a1ca2acc116c93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an EtherCAT FPRD datagram.  <a href="#a0756df47b9ae51ded9a1ca2acc116c93">More...</a><br /></td></tr>
<tr class="separator:a0756df47b9ae51ded9a1ca2acc116c93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a874f9f8511a2a5bb94eea8a168031acd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#a874f9f8511a2a5bb94eea8a168031acd">ec_datagram_fpwr</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *, uint16_t, uint16_t, size_t)</td></tr>
<tr class="memdesc:a874f9f8511a2a5bb94eea8a168031acd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an EtherCAT FPWR datagram.  <a href="#a874f9f8511a2a5bb94eea8a168031acd">More...</a><br /></td></tr>
<tr class="separator:a874f9f8511a2a5bb94eea8a168031acd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06df15b353aba6fdfe1122e7c95eb19c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#a06df15b353aba6fdfe1122e7c95eb19c">ec_datagram_fprw</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *, uint16_t, uint16_t, size_t)</td></tr>
<tr class="memdesc:a06df15b353aba6fdfe1122e7c95eb19c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an EtherCAT FPRW datagram.  <a href="#a06df15b353aba6fdfe1122e7c95eb19c">More...</a><br /></td></tr>
<tr class="separator:a06df15b353aba6fdfe1122e7c95eb19c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e41788150abc1067d4e4d5db66c2541"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#a2e41788150abc1067d4e4d5db66c2541">ec_datagram_frmw</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *, uint16_t, uint16_t, size_t)</td></tr>
<tr class="memdesc:a2e41788150abc1067d4e4d5db66c2541"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an EtherCAT FRMW datagram.  <a href="#a2e41788150abc1067d4e4d5db66c2541">More...</a><br /></td></tr>
<tr class="separator:a2e41788150abc1067d4e4d5db66c2541"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf49430ca2c7ac387a389e66172a4228"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#aaf49430ca2c7ac387a389e66172a4228">ec_datagram_brd</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *, uint16_t, size_t)</td></tr>
<tr class="memdesc:aaf49430ca2c7ac387a389e66172a4228"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an EtherCAT BRD datagram.  <a href="#aaf49430ca2c7ac387a389e66172a4228">More...</a><br /></td></tr>
<tr class="separator:aaf49430ca2c7ac387a389e66172a4228"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cf08cec8bb44d9f74fd92ded2a217bf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#a0cf08cec8bb44d9f74fd92ded2a217bf">ec_datagram_bwr</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *, uint16_t, size_t)</td></tr>
<tr class="memdesc:a0cf08cec8bb44d9f74fd92ded2a217bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an EtherCAT BWR datagram.  <a href="#a0cf08cec8bb44d9f74fd92ded2a217bf">More...</a><br /></td></tr>
<tr class="separator:a0cf08cec8bb44d9f74fd92ded2a217bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f81033d766e9c6e748485defc83a3e9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#a9f81033d766e9c6e748485defc83a3e9">ec_datagram_brw</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *, uint16_t, size_t)</td></tr>
<tr class="memdesc:a9f81033d766e9c6e748485defc83a3e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an EtherCAT BRW datagram.  <a href="#a9f81033d766e9c6e748485defc83a3e9">More...</a><br /></td></tr>
<tr class="separator:a9f81033d766e9c6e748485defc83a3e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabc448d4b7b6ec688240c20bbf81db08"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#aabc448d4b7b6ec688240c20bbf81db08">ec_datagram_lrd</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *, uint32_t, size_t)</td></tr>
<tr class="memdesc:aabc448d4b7b6ec688240c20bbf81db08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an EtherCAT LRD datagram.  <a href="#aabc448d4b7b6ec688240c20bbf81db08">More...</a><br /></td></tr>
<tr class="separator:aabc448d4b7b6ec688240c20bbf81db08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae86a6739ed9060237d935adb4240e1a7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#ae86a6739ed9060237d935adb4240e1a7">ec_datagram_lwr</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *, uint32_t, size_t)</td></tr>
<tr class="memdesc:ae86a6739ed9060237d935adb4240e1a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an EtherCAT LWR datagram.  <a href="#ae86a6739ed9060237d935adb4240e1a7">More...</a><br /></td></tr>
<tr class="separator:ae86a6739ed9060237d935adb4240e1a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecf0cddb70deea7a91ff65037faa8f29"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#aecf0cddb70deea7a91ff65037faa8f29">ec_datagram_lrw</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *, uint32_t, size_t)</td></tr>
<tr class="memdesc:aecf0cddb70deea7a91ff65037faa8f29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an EtherCAT LRW datagram.  <a href="#aecf0cddb70deea7a91ff65037faa8f29">More...</a><br /></td></tr>
<tr class="separator:aecf0cddb70deea7a91ff65037faa8f29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c8a833002784ce7c8855b11afd5bd87"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#a9c8a833002784ce7c8855b11afd5bd87">ec_datagram_lrd_ext</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *, uint32_t, size_t, uint8_t *)</td></tr>
<tr class="memdesc:a9c8a833002784ce7c8855b11afd5bd87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an EtherCAT LRD datagram with external memory.  <a href="#a9c8a833002784ce7c8855b11afd5bd87">More...</a><br /></td></tr>
<tr class="separator:a9c8a833002784ce7c8855b11afd5bd87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40de84b0b6fa9336d4713a06da68dfdc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#a40de84b0b6fa9336d4713a06da68dfdc">ec_datagram_lwr_ext</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *, uint32_t, size_t, uint8_t *)</td></tr>
<tr class="memdesc:a40de84b0b6fa9336d4713a06da68dfdc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an EtherCAT LWR datagram with external memory.  <a href="#a40de84b0b6fa9336d4713a06da68dfdc">More...</a><br /></td></tr>
<tr class="separator:a40de84b0b6fa9336d4713a06da68dfdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec1a712ab2eb262b2100180787b30648"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#aec1a712ab2eb262b2100180787b30648">ec_datagram_lrw_ext</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *, uint32_t, size_t, uint8_t *)</td></tr>
<tr class="memdesc:aec1a712ab2eb262b2100180787b30648"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an EtherCAT LRW datagram with external memory.  <a href="#aec1a712ab2eb262b2100180787b30648">More...</a><br /></td></tr>
<tr class="separator:aec1a712ab2eb262b2100180787b30648"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace816d0d8117ee2d89185bcae16d45e4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#ace816d0d8117ee2d89185bcae16d45e4">ec_datagram_print_state</a> (const <a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *)</td></tr>
<tr class="memdesc:ace816d0d8117ee2d89185bcae16d45e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints the state of a datagram.  <a href="#ace816d0d8117ee2d89185bcae16d45e4">More...</a><br /></td></tr>
<tr class="separator:ace816d0d8117ee2d89185bcae16d45e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a447b859841b687ecbe7bbf5ee896bc11"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#a447b859841b687ecbe7bbf5ee896bc11">ec_datagram_print_wc_error</a> (const <a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *)</td></tr>
<tr class="memdesc:a447b859841b687ecbe7bbf5ee896bc11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the working counter of a single-cast datagram.  <a href="#a447b859841b687ecbe7bbf5ee896bc11">More...</a><br /></td></tr>
<tr class="separator:a447b859841b687ecbe7bbf5ee896bc11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8802eeb907490d0f927538d95aaf805e"><td class="memItemLeft" align="right" valign="top"><a id="a8802eeb907490d0f927538d95aaf805e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#a8802eeb907490d0f927538d95aaf805e">ec_datagram_output_stats</a> (<a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *)</td></tr>
<tr class="memdesc:a8802eeb907490d0f927538d95aaf805e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs datagram statistics at most every second. <br /></td></tr>
<tr class="separator:a8802eeb907490d0f927538d95aaf805e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9534d758b8408b2c7d5b64dcfbc0cd10"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datagram_8h.html#a9534d758b8408b2c7d5b64dcfbc0cd10">ec_datagram_type_string</a> (const <a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *)</td></tr>
<tr class="memdesc:a9534d758b8408b2c7d5b64dcfbc0cd10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a string describing the datagram type.  <a href="#a9534d758b8408b2c7d5b64dcfbc0cd10">More...</a><br /></td></tr>
<tr class="separator:a9534d758b8408b2c7d5b64dcfbc0cd10"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>EtherCAT datagram structure. </p>

<p class="definition">Definition in file <a class="el" href="datagram_8h_source.html">datagram.h</a>.</p>
</div><h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a03209bc3f89797943506f8f7c160b015"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03209bc3f89797943506f8f7c160b015">&#9670;&nbsp;</a></span>ec_datagram_type_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="datagram_8h.html#a03209bc3f89797943506f8f7c160b015">ec_datagram_type_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>EtherCAT datagram type. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a03209bc3f89797943506f8f7c160b015a455bd48cbb495dc8b0c34ab831a7fb3d"></a>EC_DATAGRAM_NONE&#160;</td><td class="fielddoc"><p>Dummy. </p>
</td></tr>
<tr><td class="fieldname"><a id="a03209bc3f89797943506f8f7c160b015a4f04360dcb5d54e7fa9cc9d29b0201d4"></a>EC_DATAGRAM_APRD&#160;</td><td class="fielddoc"><p>Auto Increment Physical Read. </p>
</td></tr>
<tr><td class="fieldname"><a id="a03209bc3f89797943506f8f7c160b015adde6a3abb46fc29cf612209f80961ffa"></a>EC_DATAGRAM_APWR&#160;</td><td class="fielddoc"><p>Auto Increment Physical Write. </p>
</td></tr>
<tr><td class="fieldname"><a id="a03209bc3f89797943506f8f7c160b015a1c72f47920669e05abafa39e4135aea4"></a>EC_DATAGRAM_APRW&#160;</td><td class="fielddoc"><p>Auto Increment Physical ReadWrite. </p>
</td></tr>
<tr><td class="fieldname"><a id="a03209bc3f89797943506f8f7c160b015a37da79feb57a32a0d5d009e43e36fc3b"></a>EC_DATAGRAM_FPRD&#160;</td><td class="fielddoc"><p>Configured Address Physical Read. </p>
</td></tr>
<tr><td class="fieldname"><a id="a03209bc3f89797943506f8f7c160b015a0c3a2341969ba72970430b534ffa7e92"></a>EC_DATAGRAM_FPWR&#160;</td><td class="fielddoc"><p>Configured Address Physical Write. </p>
</td></tr>
<tr><td class="fieldname"><a id="a03209bc3f89797943506f8f7c160b015a94bb7b04cafdb9a9b16708830df12420"></a>EC_DATAGRAM_FPRW&#160;</td><td class="fielddoc"><p>Configured Address Physical ReadWrite. </p>
</td></tr>
<tr><td class="fieldname"><a id="a03209bc3f89797943506f8f7c160b015a74127113716bd45eaf6009ecdcb74dfc"></a>EC_DATAGRAM_BRD&#160;</td><td class="fielddoc"><p>Broadcast Read. </p>
</td></tr>
<tr><td class="fieldname"><a id="a03209bc3f89797943506f8f7c160b015abe060a204f51ab1ce7d2ff4b8fc4dda0"></a>EC_DATAGRAM_BWR&#160;</td><td class="fielddoc"><p>Broadcast Write. </p>
</td></tr>
<tr><td class="fieldname"><a id="a03209bc3f89797943506f8f7c160b015a7e441843805140c02dec287ec8ba0481"></a>EC_DATAGRAM_BRW&#160;</td><td class="fielddoc"><p>Broadcast ReadWrite. </p>
</td></tr>
<tr><td class="fieldname"><a id="a03209bc3f89797943506f8f7c160b015ae39583a474563f9420fee3bdcac8f738"></a>EC_DATAGRAM_LRD&#160;</td><td class="fielddoc"><p>Logical Read. </p>
</td></tr>
<tr><td class="fieldname"><a id="a03209bc3f89797943506f8f7c160b015a8821b71eda807ab031ecf7e3030ebe1f"></a>EC_DATAGRAM_LWR&#160;</td><td class="fielddoc"><p>Logical Write. </p>
</td></tr>
<tr><td class="fieldname"><a id="a03209bc3f89797943506f8f7c160b015a7b305ba36800dd3e5c61203cdd6a5093"></a>EC_DATAGRAM_LRW&#160;</td><td class="fielddoc"><p>Logical ReadWrite. </p>
</td></tr>
<tr><td class="fieldname"><a id="a03209bc3f89797943506f8f7c160b015a3480b2f60d4ee7fafd94582afd4a82b1"></a>EC_DATAGRAM_ARMW&#160;</td><td class="fielddoc"><p>Auto Increment Physical Read Multiple Write. </p>
</td></tr>
<tr><td class="fieldname"><a id="a03209bc3f89797943506f8f7c160b015a924ce1c906dcb8263c6ed75e37bc35db"></a>EC_DATAGRAM_FRMW&#160;</td><td class="fielddoc"><p>Configured Address Physical Read Multiple Write. </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="datagram_8h_source.html#l00050">50</a> of file <a class="el" href="datagram_8h_source.html">datagram.h</a>.</p>

</div>
</div>
<a id="ac9882419ec1404dcca75761c4d1ce720"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9882419ec1404dcca75761c4d1ce720">&#9670;&nbsp;</a></span>ec_datagram_state_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="datagram_8h.html#ac9882419ec1404dcca75761c4d1ce720">ec_datagram_state_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>EtherCAT datagram state. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ac9882419ec1404dcca75761c4d1ce720a5ccc352710bfd57969fdba9a13f91f71"></a>EC_DATAGRAM_INIT&#160;</td><td class="fielddoc"><p>Initial state of a new datagram. </p>
</td></tr>
<tr><td class="fieldname"><a id="ac9882419ec1404dcca75761c4d1ce720acb7d25358159e7c95e334a74b97d661c"></a>EC_DATAGRAM_QUEUED&#160;</td><td class="fielddoc"><p>Queued for sending. </p>
</td></tr>
<tr><td class="fieldname"><a id="ac9882419ec1404dcca75761c4d1ce720abe88d98e46c97099702211a92e1d8c9d"></a>EC_DATAGRAM_SENT&#160;</td><td class="fielddoc"><p>Sent (still in the queue). </p>
</td></tr>
<tr><td class="fieldname"><a id="ac9882419ec1404dcca75761c4d1ce720a95630d1e98f6217bf0392b4295c5bc6a"></a>EC_DATAGRAM_RECEIVED&#160;</td><td class="fielddoc"><p>Received (dequeued). </p>
</td></tr>
<tr><td class="fieldname"><a id="ac9882419ec1404dcca75761c4d1ce720a9f9009188c7cee7d421908a8924ba5e8"></a>EC_DATAGRAM_TIMED_OUT&#160;</td><td class="fielddoc"><p>Timed out (dequeued). </p>
</td></tr>
<tr><td class="fieldname"><a id="ac9882419ec1404dcca75761c4d1ce720af9a4a9cb27dca2c36d87f734fa36debf"></a>EC_DATAGRAM_ERROR&#160;</td><td class="fielddoc"><p>Error while sending/receiving (dequeued). </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="datagram_8h_source.html#l00074">74</a> of file <a class="el" href="datagram_8h_source.html">datagram.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a92a101b920c6e3cedd187a74d148c65c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92a101b920c6e3cedd187a74d148c65c">&#9670;&nbsp;</a></span>ec_datagram_prealloc()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_datagram_prealloc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allocates internal payload memory. </p>
<p>If the allocated memory is already larger than requested, nothing ist done.</p>
<dl class="section attention"><dt>Attention</dt><dd>If external payload memory has been provided, no range checking is done!</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>0 in case of success, otherwise <em>-ENOMEM</em>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
    <tr><td class="paramname">size</td><td>New payload size in bytes. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00150">150</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="a28104e7c3691ae038472f292d77f0e1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28104e7c3691ae038472f292d77f0e1c">&#9670;&nbsp;</a></span>ec_datagram_aprd()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_datagram_aprd </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>ring_position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>mem_address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes an EtherCAT APRD datagram. </p>
<dl class="section return"><dt>Returns</dt><dd>Return value of <a class="el" href="datagram_8c.html#a407dc1f0c4247f84e4193b4368be8a8b" title="Allocates internal payload memory. ">ec_datagram_prealloc()</a>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
    <tr><td class="paramname">ring_position</td><td>Auto-increment address. </td></tr>
    <tr><td class="paramname">mem_address</td><td>Physical memory address. </td></tr>
    <tr><td class="paramname">data_size</td><td>Number of bytes to read. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00189">189</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="ab1f9df4ca5a9b197bbebab97c3b1b014"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1f9df4ca5a9b197bbebab97c3b1b014">&#9670;&nbsp;</a></span>ec_datagram_apwr()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_datagram_apwr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>ring_position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>mem_address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes an EtherCAT APWR datagram. </p>
<dl class="section return"><dt>Returns</dt><dd>Return value of <a class="el" href="datagram_8c.html#a407dc1f0c4247f84e4193b4368be8a8b" title="Allocates internal payload memory. ">ec_datagram_prealloc()</a>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
    <tr><td class="paramname">ring_position</td><td>Auto-increment address. </td></tr>
    <tr><td class="paramname">mem_address</td><td>Physical memory address. </td></tr>
    <tr><td class="paramname">data_size</td><td>Number of bytes to write. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00210">210</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="a09196132a8e2ba4455e29034c7c1c021"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09196132a8e2ba4455e29034c7c1c021">&#9670;&nbsp;</a></span>ec_datagram_aprw()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_datagram_aprw </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>ring_position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>mem_address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes an EtherCAT APRW datagram. </p>
<dl class="section return"><dt>Returns</dt><dd>Return value of <a class="el" href="datagram_8c.html#a407dc1f0c4247f84e4193b4368be8a8b" title="Allocates internal payload memory. ">ec_datagram_prealloc()</a>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
    <tr><td class="paramname">ring_position</td><td>Auto-increment address. </td></tr>
    <tr><td class="paramname">mem_address</td><td>Physical memory address. </td></tr>
    <tr><td class="paramname">data_size</td><td>Number of bytes to write. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00231">231</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="a9189502fd72cb516ed7e34b717919d11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9189502fd72cb516ed7e34b717919d11">&#9670;&nbsp;</a></span>ec_datagram_armw()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_datagram_armw </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>ring_position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>mem_address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes an EtherCAT ARMW datagram. </p>
<dl class="section return"><dt>Returns</dt><dd>Return value of <a class="el" href="datagram_8c.html#a407dc1f0c4247f84e4193b4368be8a8b" title="Allocates internal payload memory. ">ec_datagram_prealloc()</a>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
    <tr><td class="paramname">ring_position</td><td>Auto-increment address. </td></tr>
    <tr><td class="paramname">mem_address</td><td>Physical memory address. </td></tr>
    <tr><td class="paramname">data_size</td><td>Number of bytes to read. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00252">252</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="a0756df47b9ae51ded9a1ca2acc116c93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0756df47b9ae51ded9a1ca2acc116c93">&#9670;&nbsp;</a></span>ec_datagram_fprd()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_datagram_fprd </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>configured_address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>mem_address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes an EtherCAT FPRD datagram. </p>
<dl class="section return"><dt>Returns</dt><dd>Return value of <a class="el" href="datagram_8c.html#a407dc1f0c4247f84e4193b4368be8a8b" title="Allocates internal payload memory. ">ec_datagram_prealloc()</a>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
    <tr><td class="paramname">configured_address</td><td>Configured station address. </td></tr>
    <tr><td class="paramname">mem_address</td><td>Physical memory address. </td></tr>
    <tr><td class="paramname">data_size</td><td>Number of bytes to read. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00273">273</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="a874f9f8511a2a5bb94eea8a168031acd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a874f9f8511a2a5bb94eea8a168031acd">&#9670;&nbsp;</a></span>ec_datagram_fpwr()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_datagram_fpwr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>configured_address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>mem_address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes an EtherCAT FPWR datagram. </p>
<dl class="section return"><dt>Returns</dt><dd>Return value of <a class="el" href="datagram_8c.html#a407dc1f0c4247f84e4193b4368be8a8b" title="Allocates internal payload memory. ">ec_datagram_prealloc()</a>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
    <tr><td class="paramname">configured_address</td><td>Configured station address. </td></tr>
    <tr><td class="paramname">mem_address</td><td>Physical memory address. </td></tr>
    <tr><td class="paramname">data_size</td><td>Number of bytes to write. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00298">298</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="a06df15b353aba6fdfe1122e7c95eb19c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06df15b353aba6fdfe1122e7c95eb19c">&#9670;&nbsp;</a></span>ec_datagram_fprw()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_datagram_fprw </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>configured_address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>mem_address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes an EtherCAT FPRW datagram. </p>
<dl class="section return"><dt>Returns</dt><dd>Return value of <a class="el" href="datagram_8c.html#a407dc1f0c4247f84e4193b4368be8a8b" title="Allocates internal payload memory. ">ec_datagram_prealloc()</a>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
    <tr><td class="paramname">configured_address</td><td>Configured station address. </td></tr>
    <tr><td class="paramname">mem_address</td><td>Physical memory address. </td></tr>
    <tr><td class="paramname">data_size</td><td>Number of bytes to write. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00323">323</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="a2e41788150abc1067d4e4d5db66c2541"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e41788150abc1067d4e4d5db66c2541">&#9670;&nbsp;</a></span>ec_datagram_frmw()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_datagram_frmw </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>configured_address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>mem_address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes an EtherCAT FRMW datagram. </p>
<dl class="section return"><dt>Returns</dt><dd>Return value of <a class="el" href="datagram_8c.html#a407dc1f0c4247f84e4193b4368be8a8b" title="Allocates internal payload memory. ">ec_datagram_prealloc()</a>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
    <tr><td class="paramname">configured_address</td><td>Configured station address. </td></tr>
    <tr><td class="paramname">mem_address</td><td>Physical memory address. </td></tr>
    <tr><td class="paramname">data_size</td><td>Number of bytes to write. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00348">348</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="aaf49430ca2c7ac387a389e66172a4228"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf49430ca2c7ac387a389e66172a4228">&#9670;&nbsp;</a></span>ec_datagram_brd()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_datagram_brd </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>mem_address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes an EtherCAT BRD datagram. </p>
<dl class="section return"><dt>Returns</dt><dd>Return value of <a class="el" href="datagram_8c.html#a407dc1f0c4247f84e4193b4368be8a8b" title="Allocates internal payload memory. ">ec_datagram_prealloc()</a>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
    <tr><td class="paramname">mem_address</td><td>Physical memory address. </td></tr>
    <tr><td class="paramname">data_size</td><td>Number of bytes to read. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00373">373</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="a0cf08cec8bb44d9f74fd92ded2a217bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cf08cec8bb44d9f74fd92ded2a217bf">&#9670;&nbsp;</a></span>ec_datagram_bwr()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_datagram_bwr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>mem_address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes an EtherCAT BWR datagram. </p>
<dl class="section return"><dt>Returns</dt><dd>Return value of <a class="el" href="datagram_8c.html#a407dc1f0c4247f84e4193b4368be8a8b" title="Allocates internal payload memory. ">ec_datagram_prealloc()</a>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
    <tr><td class="paramname">mem_address</td><td>Physical memory address. </td></tr>
    <tr><td class="paramname">data_size</td><td>Number of bytes to write. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00393">393</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="a9f81033d766e9c6e748485defc83a3e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f81033d766e9c6e748485defc83a3e9">&#9670;&nbsp;</a></span>ec_datagram_brw()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_datagram_brw </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>mem_address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes an EtherCAT BRW datagram. </p>
<dl class="section return"><dt>Returns</dt><dd>Return value of <a class="el" href="datagram_8c.html#a407dc1f0c4247f84e4193b4368be8a8b" title="Allocates internal payload memory. ">ec_datagram_prealloc()</a>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
    <tr><td class="paramname">mem_address</td><td>Physical memory address. </td></tr>
    <tr><td class="paramname">data_size</td><td>Number of bytes to write. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00413">413</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="aabc448d4b7b6ec688240c20bbf81db08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabc448d4b7b6ec688240c20bbf81db08">&#9670;&nbsp;</a></span>ec_datagram_lrd()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_datagram_lrd </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes an EtherCAT LRD datagram. </p>
<dl class="section return"><dt>Returns</dt><dd>Return value of <a class="el" href="datagram_8c.html#a407dc1f0c4247f84e4193b4368be8a8b" title="Allocates internal payload memory. ">ec_datagram_prealloc()</a>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
    <tr><td class="paramname">offset</td><td>Logical address. </td></tr>
    <tr><td class="paramname">data_size</td><td>Number of bytes to read/write. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00433">433</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="ae86a6739ed9060237d935adb4240e1a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae86a6739ed9060237d935adb4240e1a7">&#9670;&nbsp;</a></span>ec_datagram_lwr()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_datagram_lwr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes an EtherCAT LWR datagram. </p>
<dl class="section return"><dt>Returns</dt><dd>Return value of <a class="el" href="datagram_8c.html#a407dc1f0c4247f84e4193b4368be8a8b" title="Allocates internal payload memory. ">ec_datagram_prealloc()</a>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
    <tr><td class="paramname">offset</td><td>Logical address. </td></tr>
    <tr><td class="paramname">data_size</td><td>Number of bytes to read/write. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00452">452</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="aecf0cddb70deea7a91ff65037faa8f29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aecf0cddb70deea7a91ff65037faa8f29">&#9670;&nbsp;</a></span>ec_datagram_lrw()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_datagram_lrw </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes an EtherCAT LRW datagram. </p>
<dl class="section return"><dt>Returns</dt><dd>Return value of <a class="el" href="datagram_8c.html#a407dc1f0c4247f84e4193b4368be8a8b" title="Allocates internal payload memory. ">ec_datagram_prealloc()</a>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
    <tr><td class="paramname">offset</td><td>Logical address. </td></tr>
    <tr><td class="paramname">data_size</td><td>Number of bytes to read/write. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00471">471</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="a9c8a833002784ce7c8855b11afd5bd87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c8a833002784ce7c8855b11afd5bd87">&#9670;&nbsp;</a></span>ec_datagram_lrd_ext()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_datagram_lrd_ext </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>external_memory</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes an EtherCAT LRD datagram with external memory. </p>
<dl class="section attention"><dt>Attention</dt><dd>It is assumed, that the external memory is at least <em>data_size</em> bytes large.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Return value of <a class="el" href="datagram_8c.html#a407dc1f0c4247f84e4193b4368be8a8b" title="Allocates internal payload memory. ">ec_datagram_prealloc()</a>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
    <tr><td class="paramname">offset</td><td>Logical address. </td></tr>
    <tr><td class="paramname">data_size</td><td>Number of bytes to read/write. </td></tr>
    <tr><td class="paramname">external_memory</td><td>Pointer to the memory to use. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00493">493</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="a40de84b0b6fa9336d4713a06da68dfdc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a40de84b0b6fa9336d4713a06da68dfdc">&#9670;&nbsp;</a></span>ec_datagram_lwr_ext()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_datagram_lwr_ext </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>external_memory</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes an EtherCAT LWR datagram with external memory. </p>
<dl class="section attention"><dt>Attention</dt><dd>It is assumed, that the external memory is at least <em>data_size</em> bytes large.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Return value of <a class="el" href="datagram_8c.html#a407dc1f0c4247f84e4193b4368be8a8b" title="Allocates internal payload memory. ">ec_datagram_prealloc()</a>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
    <tr><td class="paramname">offset</td><td>Logical address. </td></tr>
    <tr><td class="paramname">data_size</td><td>Number of bytes to read/write. </td></tr>
    <tr><td class="paramname">external_memory</td><td>Pointer to the memory to use. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00518">518</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="aec1a712ab2eb262b2100180787b30648"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec1a712ab2eb262b2100180787b30648">&#9670;&nbsp;</a></span>ec_datagram_lrw_ext()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_datagram_lrw_ext </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>external_memory</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes an EtherCAT LRW datagram with external memory. </p>
<dl class="section attention"><dt>Attention</dt><dd>It is assumed, that the external memory is at least <em>data_size</em> bytes large.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Return value of <a class="el" href="datagram_8c.html#a407dc1f0c4247f84e4193b4368be8a8b" title="Allocates internal payload memory. ">ec_datagram_prealloc()</a>. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
    <tr><td class="paramname">offset</td><td>Logical address. </td></tr>
    <tr><td class="paramname">data_size</td><td>Number of bytes to read/write. </td></tr>
    <tr><td class="paramname">external_memory</td><td>Pointer to the memory to use. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00543">543</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="ace816d0d8117ee2d89185bcae16d45e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace816d0d8117ee2d89185bcae16d45e4">&#9670;&nbsp;</a></span>ec_datagram_print_state()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ec_datagram_print_state </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Prints the state of a datagram. </p>
<p>Outputs a text message. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00565">565</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="a447b859841b687ecbe7bbf5ee896bc11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a447b859841b687ecbe7bbf5ee896bc11">&#9670;&nbsp;</a></span>ec_datagram_print_wc_error()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ec_datagram_print_wc_error </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Evaluates the working counter of a single-cast datagram. </p>
<p>Outputs an error message. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00602">602</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
<a id="a9534d758b8408b2c7d5b64dcfbc0cd10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9534d758b8408b2c7d5b64dcfbc0cd10">&#9670;&nbsp;</a></span>ec_datagram_type_string()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* ec_datagram_type_string </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structec__datagram__t.html">ec_datagram_t</a> *&#160;</td>
          <td class="paramname"><em>datagram</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a string describing the datagram type. </p>
<dl class="section return"><dt>Returns</dt><dd>Pointer on a static memory containing the requested string. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">datagram</td><td>EtherCAT datagram. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="datagram_8c_source.html#l00642">642</a> of file <a class="el" href="datagram_8c_source.html">datagram.c</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_c1346cf4828efdd0d2baf0d391d01b77.html">master</a></li><li class="navelem"><a class="el" href="datagram_8h.html">datagram.h</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
